package fachada;

import java.util.List;

import dao.DaoCartao;
import dao.DaoCliente;
import dao.DaoCompra;
import dao.DaoFatura;

import modelos.Cartao;
import modelos.Cliente;
import modelos.Compra;
import modelos.Fatura;
import interfaces.IDaoCartao;
import interfaces.IDaoCliente;
import interfaces.IDaoCompra;
import interfaces.IDaoFatura;
import interfaces.IFachada;



public class Fachada implements IFachada {

	private IDaoCartao daoCartao = new DaoCartao();
	private IDaoCliente daoCliente = new DaoCliente();
	private IDaoCompra daoCompra = new DaoCompra(); 
	private IDaoFatura daoFatura = new DaoFatura();
	
	
	@Override
	public Cartao salvarCartao(Cartao cartao) {
		// TODO Auto-generated method stub
		return this.daoCartao.salvar(cartao);
	}

	@Override
	public Cartao atualizarCartao(Cartao cartao) {
		// TODO Auto-generated method stub
		return this.daoCartao.atualizar(cartao);
	}

	@Override
	public Cartao removerCartao(Cartao cartao) {
		// TODO Auto-generated method stub
		return this.daoCartao.remover(cartao);
	}

	@Override
	public List<Cartao> listarCartao() {
		// TODO Auto-generated method stub
		return this.daoCartao.listar();
	}

	@Override
	public Cartao getCartaoPorId(int id) {
		// TODO Auto-generated method stub
		return this.daoCartao.getPorId(id);
	}

	@Override
	public Cliente salvarCliente(Cliente cliente) {
		// TODO Auto-generated method stub
		return this.daoCliente.salvar(cliente);
	}

	@Override
	public Cliente atualizarCliente(Cliente cliente) {
		// TODO Auto-generated method stub
		return this.daoCliente.atualizar(cliente);
	}

	@Override
	public Cliente removerCliente(Cliente cliente) {
		// TODO Auto-generated method stub
		return this.daoCliente.remover(cliente);
	}

	@Override
	public List<Cliente> listarCliente() {
		// TODO Auto-generated method stub
		return this.daoCliente.listar();
	}

	@Override
	public Cliente getClientePorId(int id) {
		// TODO Auto-generated method stub
		return this.daoCliente.getPorId(id);
	}
	
	

	@Override
	public Compra salvarCompra(Compra compra) {
		// TODO Auto-generated method stub
		return this.daoCompra.salvar(compra);
	}

	@Override
	public Compra atualizarCompra(Compra compra) {
		return this.daoCompra.atualizar(compra);
	}

	@Override
	public Compra removerCompra(Compra compra) {
		// TODO Auto-generated method stub
		return this.daoCompra.remover(compra);
	}

	@Override
	public List<Compra> listarCompra() {
		return this.daoCompra.listar();
	}

	@Override
	public Compra getCompraPorId(int id) {
		return this.daoCompra.getPorId(id);
	}

	@Override
	public Fatura salvarFatura(Fatura fatura) {
		return this.daoFatura.salvar(fatura);
	}

	@Override
	public Fatura atualizarFatura(Fatura fatura) {
		return this.daoFatura.atualizar(fatura);
	}

	@Override
	public Fatura removerFatura(Fatura fatura) {
		return this.daoFatura.remover(fatura);
	}

	@Override
	public List<Fatura> listarFatura() {
		return this.daoFatura.listar();
	}

	@Override
	public Fatura getFaturaPorId(int id) {
		// TODO Auto-generated method stub
		return this.daoFatura.getPorId(id);
	}

	@Override
	public Cliente getPorcpf(String cpf) {
		// TODO Auto-generated method stub
		return this.daoCliente.getPorcpf(cpf);
	}

	@Override
	public Cartao getPorcpfDono(Cliente cliente) {
		// TODO Auto-generated method stub
		return this.daoCartao.getPorcpfDono(cliente);
	}

	@Override
	public Cartao getPorNumero(String numero) {
		// TODO Auto-generated method stub
		return this.daoCartao.getPorNumero(numero);
	}
	
	
	
}
